package com.hst.capacity.infra.persistence.mybatis;

import com.hst.capacity.domain.model.request.intercity.IcListNewParam;
import com.hst.capacity.domain.model.request.intercity.IcListParam;
import com.hst.capacity.domain.model.request.intercity.IcListTaskParam;
import com.hst.capacity.domain.model.response.dispatch.TaskDetailVO;
import com.hst.capacity.domain.model.response.intercity.*;
import com.hst.capacity.domain.model.response.intercity.task.IcSearchTaskVO;
import com.hst.capacity.domain.model.response.intercity.task.IcTaskDetailVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface IntercityOrderMapper {

    List<IcSearchVO> searchOrderWithTaskID(String idTask);

    List<IcSearchVO> searchWithConditionsAndPaging(IcListParam param);
    Long searchWithConditionsAndPagingTotal(IcListParam param);

    List<IcSearchTaskVO> searchTaskWithConditionsAndPaging(IcListTaskParam param);
    Long searchTaskWithConditionsAndPagingTotal(IcListTaskParam param);
    IcDetailVO.Base icOrderDetailBase(String orderId);
    List<IcDetailVO.StatusHistory> icOrderDetailHistory(String orderId);
    List<IcListNewVO> getNewIcOrderList(IcListNewParam param);
    Long getNewIcOrderListTotal(IcListNewParam param);

    IcTaskDetailVO icTaskDetail(String idTask);
    IcTaskDetailVO icTaskHistoryDetail(String idTask);

    Boolean icReMemo(String idOrder, String memo);

    IcDetailVO.Base icOrderDetailBaseForHistory(String orderId);
}
